/*
package com.eagle.svnkit;


import org.tmatesoft.svn.core.SVNDirEntry;
import org.tmatesoft.svn.core.SVNException;
import org.tmatesoft.svn.core.SVNNodeKind;
import org.tmatesoft.svn.core.io.SVNRepository;

import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

public class SvnOption {

    */
/**
     * @Author: winterchen
     * @Description: 获取版本库中某一目录下的所有条目。可以根据参数选择是否进行递归
     * @Date: 2018/2/6
     * @param repository
     * @param path  需要查找的svn路径（相对路径）前面不需要/
     * @param typeEnum  文件类型
     * @param fileNameSearch    文件名过滤条件
     * @param isGetNext 是否递归 true  递归
     *//*

    public static List<SVNDirEntry> getSvnFileBaseInfoDto(SVNRepository repository, String path,
                                                          String fileNameSearch, SvnGetFileTypeEnum typeEnum,
                                                          boolean isGetNext)throws SVNException {
        List<SVNDirEntry> result = new LinkedList<SVNDirEntry>();
        listEntries(repository,path,result,fileNameSearch,typeEnum,isGetNext);
        return result;
    }

    */
/**
     * @Author: winterchen
     * @Description: 获取版本库中某一目录下的所有条目。可以根据参数选择是否进行递归
     * @Date: 2018/2/6
     * @param repository
     * @param path  需要查找的svn路径（相对路径）前面不需要/
     * @param result    最后封装的容器
     * @param typeEnum  文件类型
     * @param fileNameSearch    文件名过滤条件
     * @param isGetNext 是否递归 true  递归
     *//*

    public static void listEntries(SVNRepository repository, String path, List<SVNDirEntry> result,
                                   String fileNameSearch, SvnGetFileTypeEnum typeEnum,
                                   boolean isGetNext) throws SVNException {
        //获取版本库的path目录下的所有条目。参数－1表示是最新版本。
        Collection entries = repository.getDir(path, -1, null,
                (Collection) null);
        Iterator iterator = entries.iterator();

        while (iterator.hasNext()) {
            SVNDirEntry entry = (SVNDirEntry) iterator.next();
            boolean flag = true;
            //进行参数的匹配
            if (typeEnum != null) {
                if (!typeEnum.getValue().equals(SvnGetFileTypeEnum.DEFAULT.getValue())) {
                    if (!entry.getKind().toString().equals(typeEnum.getValue())) {
                        flag = false;
                    }
                }
            }
            if (!StringUtils.isEmpty(fileNameSearch)) {
                if (!entry.getName().contains(fileNameSearch)) {
                    flag = false;
                }
            }
            if (flag) { //如果两个条件都不为空，并且都通过了
                result.add(entry);
            }
            //判断是否需要进行递归
            if (isGetNext) {
                */
/*
                 * 检查此条目是否为目录，如果为目录递归执行
                 *//*

                if (entry.getKind() == SVNNodeKind.DIR) {
                    listEntries(repository, (path.equals("")) ? entry.getName()
                            : path + "/" + entry.getName(), result, fileNameSearch, typeEnum, isGetNext);
                }
            }
        }
    }

    */
/**
     * @Author: winterchen
     * @Description: 往SVN中添加文件夹
     * @Date: 2018/2/9
     * @param path
     * @param projTypeName
     *//*

    public static void addNewSvnDir(String path, String projTypeName) throws SVNException {

        String filename = path.substring(path.lastIndexOf("/") + 1);
        String url = SVNUtil.storeUrl + "/" + path.substring(0,path.lastIndexOf("/"));
        //模板文件所在目录
        String copyPath = "svn/" + "PMCLIB/" + projTypeName + "项目";
        SVNRepository repository = null;
        try{
            repository = SVNUtil.getSVNRepository(url);
        }catch (SVNException e){
            throw BusinessException.withErrorCode(ErrorsWepm.JiraAndSvnIntf.CREATE_SVN_DIR_FAIL)
                    .withErrorMessageArguments("相对路径错误，请检查后重试");
        }

        SVNNodeKind nodeKind = repository.checkPath(filename, -1);
        //获得版本库中文件的状态（是否存在），参数-1表示是版本库中的最新版本。
        ISVNEditor editor = repository.getCommitEditor("logMessage", null,true,null);


        if (nodeKind == SVNNodeKind.NONE){//如果文件夹不存在,创建一个
            editor.openRoot(-1);
            editor.addDir(filename,null, -1);
            editor.closeDir();
            editor.closeEdit();
        }else {
            throw BusinessException.withErrorCode(ErrorsWepm.JiraAndSvnIntf.CREATE_SVN_DIR_FAIL)
                    .withErrorMessageArguments("文件夹已经存在");
        }

    }

    */
/**
     * @Author: winterchen
     * @Description: SVN checkOut到本地
     * @Date: 2018/2/9
     * @param wcDir 需要checkOut到本地的文件目录
     * @param rlUrl
     *//*

    public static void checkOut(File wcDir, String url) throws BusinessException{

        SVNUpdateClient svnUpdateClient = SVNUtil.getSVNUpdateClient();
        //相关变量赋值
        SVNURL repositoryURL = null;


        //执行check out 操作，返回工作副本的版本号。
        long workingVersion = -1;
        try {
            repositoryURL = SVNURL.parseURIEncoded(url);
            workingVersion = svnUpdateClient
                    .doCheckout(repositoryURL, wcDir, SVNRevision.HEAD, SVNRevision.HEAD, SVNDepth.INFINITY,false);
        } catch (SVNException e) {
            throw BusinessException.withErrorCode(ErrorsWepm.JiraAndSvnIntf.CREATE_SVN_DIR_FAIL)
                    .withErrorMessageArguments(e.getMessage());
        }catch (Exception e) {
            throw BusinessException.withErrorCode(ErrorsWepm.JiraAndSvnIntf.CREATE_SVN_DIR_FAIL)
                    .withErrorMessageArguments(e.getMessage());
        }
    }

    */
/**
     * @Author: winterchen
     * @Description: import本地文件目录（包括其下的所有子目录和文件）到svn
     * @Date: 2018/2/9
     * @param localFile
     * @param url
     *//*

    public static void imoprtToSvnDir(File localFile, String url) throws BusinessException{

        SVNClientManager svnClientManager = SVNUtil.getSVNClientManager();
        //执行导入操作
        SVNCommitInfo commitInfo = null;
        SVNURL repositoryURL = null;
        try {
            repositoryURL = SVNURL.parseURIEncoded(url);
            commitInfo = svnClientManager.getCommitClient().doImport(localFile, repositoryURL,
                    "import operation!",null, false,false,SVNDepth.INFINITY);
        } catch (SVNException e) {
            throw BusinessException.withErrorCode(ErrorsWepm.JiraAndSvnIntf.CREATE_SVN_DIR_FAIL)
                    .withErrorMessageArguments(e.getMessage());
        }
    }

    */
/**
     * @Author: winterchen
     * @Description: 获取系统临时目录地址
     * @Date: 2018/2/9
     * @param dirName
     *//*

    public static String getSysLocalDir(String dirName){

        // 获取系统临时文件目录（兼容Windows和Linux）+PMC+时间戳+用户账号作为临时检出目录
        String localCheckDir = System.getProperty(tmpdir_property) + "PMC"
                + new SimpleDateFormat(time_sdf).format(new Date()) + "_" +  dirName;
        localCheckDir = FilePathUtil.getHttpURLPath(localCheckDir); // 转换地址格式：主要目录分隔符都转为正斜杠/

        return localCheckDir;
    }


}
*/
